Nginx开启Gzip压缩 大幅增加访问速度

图片大小过大导致加速速度变慢 Nginx打开Gzip

修改nginx.conf

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";

解释各行

  • 第1行:开启Gzip
  • 第2行:不压缩临界值,大于1K的才压缩,一般不用改
  • buffer,就是,嗯,算了不解释了,不用改
  • 用了反向代理的话,末端通信是HTTP/1.0,有需求的应该也不用看我这科普文了;有这句的话注释了就行了,默认是HTTP/1.1
  • 压缩级别,1-10,数字越大压缩的越好,时间也越长,看心情随便改吧
  • 进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了
  • 跟Squid等缓存服务有关,on的话会在Header里增加”Vary: Accept-Encoding”,我不需要这玩意,自己对照情况看着办吧
  • IE6对Gzip不怎么友好,不给它Gzip了

wq保存退出,重新加载Nginx

/usr/local/nginx/sbin/nginx -s reload

验证是够开始Gzip

未开启Gzip
jdk
开启Gzip
jdk

  • 如果出现了Content-encoding:gzip 则表示gzip以及压缩。图片1.4MB的图片已压缩至1.3MB.
  • 这里压缩的数据类型是json数据,所以需要将application/json 添加到gzip_types中

对于Tomcat

####修改server.xml

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
compression="on" // 打开压缩功能 (on|off)
compressionMinSize="2048" // 启用压缩的输出内容大小,这里面默认为2KB
noCompressionUserAgents="gozilla, traviata" // 对于这里配置的浏览器,不启用压缩
compressableMimeType="text/html,text/xml,text/plain,text/css,application/javascript" //对哪些文件类型启用压缩
useSendfile="false" //useSendfile属性默认为true, 会禁用任何可能的压缩, 改成false就好了
/>

文章作者: 陈 武
文章链接: http://www.updatecg.xin/2017/10/24/Nginx开启Gzip压缩 大幅增加访问速度/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 我的学习记录
打赏
  • 微信
  • 支付寶

评论